home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / gnu / bash / bash_108 / bash-108.zoo / bash-1.08 / machines.h.orig < prev    next >
Encoding:
Text File  |  1991-05-22  |  23.6 KB  |  955 lines

  1. /* machines.h --
  2.    Included file in the makefile that gets run through Cpp.  This file
  3.    tells which machines have what features based on the unique machine
  4.    identifier present in Cpp. */
  5.  
  6. /* **************************************************************** */
  7. /*                                                                  */
  8. /*                Global Assumptions (true for most systems).       */
  9. /*                                                                  */
  10. /* **************************************************************** */
  11.  
  12. /* We make some global assumptions here.  This can be #undef'ed in
  13.    various machine specific entries. */
  14.  
  15. /* If this file is being processed with Gcc, then the user has Gcc. */
  16. #if defined (__GNUC__)
  17. #  if !defined (HAVE_GCC)
  18. #    define HAVE_GCC
  19. #  endif /* HAVE_GCC */
  20. #endif /* __GNUC__ */
  21.  
  22. /* Assume that all machines have the getwd () system call.  We unset it
  23.    for USG systems. */
  24. #define HAVE_GETWD
  25.  
  26. /* Every machine that has Gcc has alloca as a builtin in Gcc.  If you are
  27.    compiling Bash without Gcc, then you must have alloca in a library,
  28.    in your C compiler, or be able to assemble or compile the alloca source
  29.    that we ship with Bash. */
  30. #define HAVE_ALLOCA
  31.  
  32. /* **************************************************************** */
  33. /*                                    */
  34. /*            Sun Miscrosystems Machines              */
  35. /*                                    */
  36. /* **************************************************************** */
  37.  
  38. #if defined (sun)
  39. #define VOID_SIGHANDLER
  40. #  if defined (mc68010)
  41. #    define sun2
  42. #  endif
  43. #  if defined (mc68020)
  44. #    define sun3
  45. #  endif
  46. #  if defined (sparc)
  47. #    define sun4
  48. #  endif
  49. #  if defined (i386)
  50. #    define Sun386i
  51. #    undef i386
  52. #  endif
  53. #if defined (HAVE_SHARED_LIBS)
  54. #  define M_OS SunOS4
  55. #else
  56. #  if !defined (sparc)
  57. #     undef VOID_SIGHANDLER
  58. #  endif
  59. #  define M_OS SunOS3
  60. #endif
  61. #endif /* sun */
  62.  
  63. /* ************************ */
  64. /*                */
  65. /*        Sun2        */
  66. /*                */
  67. /* ************************ */
  68. #if defined (sun2)
  69. #define M_MACHINE "sun2"
  70. #define HAVE_SIGLIST
  71. #define USE_GNU_MALLOC
  72. #define HAVE_SETLINEBUF
  73. #define HAVE_VPRINTF
  74. #define HAVE_MULTIPLE_GROUPS
  75. #endif /* sun2 */
  76.  
  77. /* ************************ */
  78. /*                */
  79. /*        Sun3        */
  80. /*                */
  81. /* ************************ */
  82. #if defined (sun3)
  83. #define M_MACHINE "sun3"
  84. #define HAVE_SIGLIST
  85. #define USE_GNU_MALLOC
  86. #define HAVE_SETLINEBUF
  87. #define HAVE_VPRINTF
  88. #define HAVE_MULTIPLE_GROUPS
  89. #endif /* sun3 */
  90.  
  91. /* ************************ */
  92. /*                */
  93. /*        Sparc        */
  94. /*                */
  95. /* ************************ */
  96. #if defined (sun4)
  97. #define M_MACHINE "sparc"
  98. #define HAVE_SIGLIST
  99. #define HAVE_SETLINEBUF
  100. #define HAVE_VPRINTF
  101. #define USE_GNU_MALLOC
  102. #define HAVE_MULTIPLE_GROUPS
  103. #endif /* sparc */
  104.  
  105. /* ************************ */
  106. /*                */
  107. /*        Sun386i        */
  108. /*                */
  109. /* ************************ */
  110. #if defined (Sun386i)
  111. #define M_MACHINE "Sun386i"
  112. #define HAVE_SIGLIST
  113. #define USE_GNU_MALLOC
  114. #define HAVE_SETLINEBUF
  115. #define HAVE_VPRINTF
  116. #define HAVE_MULTIPLE_GROUPS
  117. #endif /* Sun386i */
  118.  
  119. /* **************************************************************** */
  120. /*                                    */
  121. /*            DEC Machines (vax, decstations)           */
  122. /*                                    */
  123. /* **************************************************************** */
  124.  
  125. /* ************************ */
  126. /*                */
  127. /*        Ultrix        */
  128. /*                */
  129. /* ************************ */
  130. #if defined (ultrix)
  131. #if defined (MIPSEL)
  132. #  define M_MACHINE "MIPSEL"
  133. #  if !defined (HAVE_GCC)
  134. #    define (SYDEP_CFLAGS -Wf,-XNl3072
  135. #  endif
  136. #else
  137. #  define M_MACHINE "vax"
  138. #endif
  139. #define M_OS Ultrix
  140. #define VOID_SIGHANDLER
  141. #define HAVE_SIGLIST
  142. #define USE_GNU_MALLOC
  143. #define HAVE_SETLINEBUF
  144. #define HAVE_VPRINTF
  145. #define HAVE_MULTIPLE_GROUPS
  146. #endif /* ultrix */
  147.  
  148. /* ************************ */
  149. /*                */
  150. /*    VAX 4.3 BSD        */
  151. /*                */
  152. /* ************************ */
  153. #if defined (vax) && !defined (ultrix)
  154. #define M_MACHINE "vax"
  155. #define M_OS Bsd
  156. #define HAVE_SETLINEBUF
  157. #define HAVE_SIGLIST
  158. #define USE_GNU_MALLOC
  159. #define HAVE_MULTIPLE_GROUPS
  160. #endif /* vax && !ultrix */
  161.  
  162. /* ******************************** */
  163. /*                    */
  164. /*       MIPS RISC/os            */
  165. /*                    */
  166. /* ******************************** */
  167.  
  168. #if defined (mips) && !defined (ultrix) && !defined (sgi) && !defined (sony)
  169.  
  170. #if defined (MIPSEB)
  171. #  define M_MACHINE "MIPSEB"
  172. #else
  173. #  if defined (MIPSEL)
  174. #    define M_MACHINE "MIPSEL"
  175. #  else
  176. #    define M_MACHINE "mips"
  177. #  endif /* MIPSEL */
  178. #endif /* MIPSEB */
  179.  
  180. #define M_OS Bsd
  181. #if !defined (HAVE_GCC)
  182. #  define SYSDEP_CFLAGS -DOPENDIR_NOT_ROBUST
  183. #else
  184. #  define SYSDEP_CFLAGS -Wf,-XNl3072 -systype bsd43 -DOPENDIR_NOT_ROBUST
  185. #endif /* !HAVE_GCC */
  186. #define HAVE_SIGLIST
  187. #define HAVE_SETLINEBUF
  188. #define USE_GNU_MALLOC
  189. #define HAVE_VPRINTF
  190. #define HAVE_MULTIPLE_GROUPS
  191. /* This is actually present but unavailable in the BSD universe? */
  192. #undef HAVE_UNISTD_H
  193. #if !defined (HAVE_RESOURCE)
  194. #  define HAVE_RESOURCE
  195. #endif
  196. #endif /* mips */
  197.  
  198. /* ************************ */
  199. /*                */
  200. /*      Pyramid        */
  201. /*                */
  202. /* ************************ */
  203. #if defined (pyr)
  204. #define M_MACHINE "Pyramid"
  205. #define M_OS Bsd
  206. #define HAVE_SIGLIST
  207. #define USE_GNU_MALLOC
  208. #define HAVE_SETLINEBUF
  209. /* We do have vfprinf and varargs, but I get an syntax error at line
  210.    486 of make_cmd if I use them ?! */
  211. /* #define HAVE_VPRINTF */
  212. #define HAVE_MULTIPLE_GROUPS
  213. #endif /* pyr */
  214.  
  215. /* ************************ */
  216. /*                */
  217. /*        IBMRT        */
  218. /*                */
  219. /* ************************ */
  220. /* Notes:  Compiling with pcc seems to work better than compiling with
  221.    the hc compiler.  I had problems when compiling with hc with alloca,
  222.    even though the -ma flag was defined.  (bfox) */
  223. #if defined (ibm032)
  224. #define M_MACHINE "IBMRT"
  225. #define M_OS Bsd
  226. #define HAVE_SIGLIST
  227. #define HAVE_SETLINEBUF
  228. /* Some systems cannot find vprintf at load time. */
  229. /* #define HAVE_VPRINTF */
  230. #define USE_GNU_MALLOC
  231. /* Alloca requires either gcc or pcc with -ma in SYSDEP_CFLAGS. */
  232. #if !defined (HAVE_GCC)
  233. #  define SYSDEP_CFLAGS -ma
  234. #endif
  235. #define HAVE_MULTIPLE_GROUPS
  236. #endif /* ibm032 */
  237.  
  238. /* ************************ */
  239. /*                */
  240. /*        i386        */
  241. /*                */
  242. /* ************************ */
  243.  
  244. /* Sequent Symmetry running Dynix (4.2 BSD) */
  245.  
  246. #if defined (i386) && defined (sequent)
  247. #undef i386
  248. /* Need to undef sequent so the subsequent section for the Balance doesn't
  249.    catch it and redefine some build parameters */
  250. #undef sequent
  251. #define M_MACHINE "Symmetry"
  252. #define M_OS Bsd
  253. #define SYSDEP_CFLAGS -DCPCC -DDUP2_BROKEN
  254. #define HAVE_SETLINEBUF
  255. #define HAVE_SIGLIST
  256. #define USE_GNU_MALLOC
  257. #define HAVE_MULTIPLE_GROUPS
  258. #endif /* i386 && sequent */
  259.  
  260. /* Generic 386 clone running Mach (4.3 BSD-compatible) */
  261.  
  262. #if defined (i386) && defined (MACH)
  263. #undef i386
  264. #define M_MACHINE "i386"
  265. #define M_OS Bsd
  266. #define HAVE_SETLINEBUF
  267. #define HAVE_SIGLIST
  268. #define USE_GNU_MALLOC
  269. #define HAVE_MULTIPLE_GROUPS
  270. #endif /* i386 && MACH */
  271.  
  272. /* AIX/PS2 1.2 for the 386 */
  273.  
  274. #if defined (i386) && defined (aixpc)
  275. #undef i386
  276. #define M_MACHINE "i386"
  277. #define M_OS AIX
  278. #define HAVE_VPRINTF
  279. #define USE_GNU_MALLOC
  280. #define VOID_SIGHANDLER
  281. #define SYSDEP_CFLAGS -D_BSD
  282. #define REQUIRED_LIBRARIES -lbsd
  283. #define HAVE_MULTIPLE_GROUPS
  284. #endif /* i386 && aix */
  285.  
  286. /* System V Release 4 on the 386 */
  287.  
  288. #if defined (i386) && defined (USGr4)
  289. #undef i386
  290. #define M_MACHINE "i386"
  291. #define M_OS USG
  292. #define HAVE_SIGLIST
  293. #define HAVE_VPRINTF
  294. #define USE_GNU_MALLOC
  295. #define VOID_SIGHANDLER
  296. #undef HAVE_GETWD
  297. /* Alloca requires either Gcc or cc with libucb.a */
  298. #if !defined (HAVE_GCC)
  299. #  define REQUIRED_LIBRARIES -lc /usr/ucblib/libucb.a
  300. #endif /* !HAVE_GCC */
  301. #define HAVE_MULTIPLE_GROUPS
  302. #define SYSDEP_CFLAGS -DUSGr4
  303. #endif /* i386 && USGr4 */
  304.  
  305. /* 386 box running Interactive Unix 2.2? */
  306. #if defined (isc386)
  307. #undef i386
  308. #undef HAVE_ALLOCA
  309. #define M_MACHINE "isc386"
  310. #define M_OS USG
  311. #undef HAVE_GETWD
  312. #define USE_GNU_MALLOC
  313. #define HAVE_VPRINTF
  314. #define VOID_SIGHANDLER
  315.  
  316. /* <sys/types.h> uses mode_t, but doesn't define it unless _POSIX_SOURCE
  317.    is defined.  But when _POSIX_SOURCE is defined, <signal.h> tries to
  318.    use pid_t without including <sys/types.h>!  What a mess.
  319.  
  320.    ISC's <sys/fcntl.h> doesn't want to define O_NDELAY if __STDC__ is
  321.    defined.  Fix that, too.  */
  322. #if defined (__STDC__) || defined (HAVE_GCC)
  323. #  define SYSDEP_CFLAGS -DUSGr3 -Dmode_t="unsigned short" -DO_NDELAY=O_NONBLOCK
  324. #else
  325. #  define SYSDEP_CFLAGS -DUSGr3 -Dmode_t="unsigned short"
  326. #endif /* __STDC__ || HAVE_GCC */
  327.  
  328. /* ISC's wait.h requires lots of POSIX junk.  Forget it. */
  329. #undef HAVE_WAIT_H
  330.  
  331. /* libcposix.a contains putc, getc, fileno. */
  332. #define REQUIRED_LIBRARIES -lcposix
  333. #endif /* isc386 */
  334.  
  335. /* Assume a generic 386 running sys5r3 something */
  336.  
  337. #if defined (i386)
  338. #undef i386
  339. #define M_MACHINE "i386"
  340. #define M_OS USG
  341. #undef HAVE_GETWD
  342. #define SYSDEP_CFLAGS -DUSGr3
  343. #define USE_GNU_MALLOC
  344. #define HAVE_VPRINTF
  345. #define VOID_SIGHANDLER
  346. /* Alloca requires either Gcc or cc with libPW.a */
  347. #if !defined (HAVE_GCC)
  348. #  define REQUIRED_LIBRARIES -lPW
  349. #endif /* !HAVE_GCC */
  350. #endif /* i386 */
  351.  
  352. /* ************************ */
  353. /*                */
  354. /* Gould 9000 - UTX/32 R2.1A */
  355. /*                */
  356. /* ************************ */
  357. #if defined (gould)        /* maybe should be GOULD_PN ? */
  358. #define M_MACHINE "gould"
  359. #define M_OS Bsd
  360. #define HAVE_SIGLIST
  361. #define HAVE_SETLINEBUF
  362. #define USE_GNU_MALLOC
  363. #define HAVE_MULTIPLE_GROUPS
  364. #endif /* gould */
  365.  
  366. /* ************************ */
  367. /*                */
  368. /*        NeXT        */
  369. /*                */
  370. /* ************************ */
  371. #if defined (NeXT)
  372. #define M_MACHINE "NeXT"
  373. #define M_OS Bsd
  374. #define HAVE_VPRINTF
  375. #define HAVE_SIGLIST
  376. #define HAVE_MULTIPLE_GROUPS
  377. #define HAVE_STRERROR
  378. #endif
  379.  
  380. /* ************************ */
  381. /*                */
  382. /*    hp9000 4.3 BSD        */
  383. /*                */
  384. /* ************************ */
  385. #if defined (hp9000) && !defined (hpux)
  386. #define M_MACHINE "hp9000"
  387. #define M_OS Bsd
  388. #undef HAVE_ALLOCA
  389. #define HAVE_SIGLIST
  390. #define HAVE_SETLINEBUF
  391. #define USE_GNU_MALLOC
  392. #define HAVE_MULTIPLE_GROUPS
  393. #endif /* hp9000 && !hpux */
  394.  
  395. /* ************************ */
  396. /*                */
  397. /*        hpux        */
  398. /*                */
  399. /* ************************ */
  400. #if defined (hpux)
  401. #define M_MACHINE "hpux"
  402.  
  403. /* This is for 6.2+ systems with job control. */
  404. #define M_OS HPUX
  405. #define REQUIRED_LIBRARIES -lBSD
  406.  
  407. /* For HP-UX 7.0, we don't need the -lBSD. */
  408. /* #undef REQUIRED_LIBRARIES */
  409.  
  410. /* For HP-UX systems before 6.2, we don't have job control. */
  411. /* #undef M_OS */
  412. /* #define M_OS USG */
  413.  
  414. #define USE_GNU_MALLOC
  415. #define HAVE_VPRINTF
  416. #define VOID_SIGHANDLER
  417. #define HAVE_MULTIPLE_GROUPS
  418. #define HAVE_STRERROR
  419. #endif /* hpux */
  420.  
  421. /* ************************ */
  422. /*                */
  423. /*        Xenix286        */
  424. /*                */
  425. /* ************************ */
  426. #if defined (Xenix286)
  427. #define M_MACHINE "i286"
  428. #define M_OS Xenix
  429. #undef HAVE_ALLOCA
  430. #define USE_GNU_MALLOC
  431. #define REQUIRED_LIBRARIES -lx
  432. #endif
  433.  
  434. /* ************************ */
  435. /*                */
  436. /*        Xenix386        */
  437. /*                */
  438. /* ************************ */
  439. #if defined (Xenix386)
  440. #define M_MACHINE "i386"
  441. #define M_OS Xenix
  442. #undef HAVE_ALLOCA
  443. #define ALLOCA_ASM x386-alloca.s
  444. #define USE_GNU_MALLOC
  445. #define REQUIRED_LIBRARIES -lx
  446. #endif
  447.  
  448. /* ************************ */
  449. /*                */
  450. /*        convex        */
  451. /*                */
  452. /* ************************ */
  453. #if defined (convex)
  454. #define M_MACHINE "convex"
  455. #define M_OS Bsd
  456. #undef HAVE_ALLOCA
  457. #define HAVE_SETLINEBUF
  458. #define HAVE_SIGLIST
  459. #define USE_GNU_MALLOC
  460. #define HAVE_MULTIPLE_GROUPS
  461. #endif /* convex */
  462.  
  463. /* ************************ */
  464. /*                */
  465. /*        Sony        */
  466. /*                */
  467. /* ************************ */
  468. #if defined (sony)
  469. #if defined (MIPSEB)
  470. #define M_MACHINE "MIPSEB"
  471. #else
  472. #define M_MACHINE "sony"
  473. #endif
  474.  
  475. #if defined (SYSTYPE_SYSV) || defined (USGr4)
  476. #  define M_OS USG
  477. #  undef HAVE_GETWD
  478. #  define HAVE_VPRINTF
  479. #  define VOID_SIGHANDLER
  480.    /* Alloca requires either Gcc or cc with libucb.a. */
  481. #  if !defined (HAVE_GCC)
  482. #    define REQUIRED_LIBRARIES -lc /usr/ucblib/libucb.a
  483. #  endif /* !HAVE_GCC */
  484. #  if defined (MIPSEB)
  485. #    if !defined (HAVE_GCC)
  486. #      define SYSDEP_CFLAGS -Wf,XNl3072 -DUSGr4
  487. #    else
  488. #      define SYSDEP_CFLAGS -DUSGr4
  489. #    endif /* HAVE_GCC */
  490. #  endif /* MIPSEB */
  491. #else
  492. #  define M_OS Bsd
  493. #endif /* SYSTYPE_SYSV */
  494. #define HAVE_SIGLIST
  495. #define HAVE_SETLINEBUF
  496. #define USE_GNU_MALLOC
  497. #define HAVE_MULTIPLE_GROUPS
  498. #endif /* sony */
  499.  
  500. /* ************************ */
  501. /*                */
  502. /*        AIX/RT        */
  503. /*                */
  504. /* ************************ */
  505. #if defined (aix) && !defined (aixpc)
  506. #define M_MACHINE "AIX"
  507. #define M_OS Bsd
  508. #undef HAVE_ALLOCA
  509. #define HAVE_VPRINTF
  510. #define HAVE_SIGLIST
  511. #define USE_GNU_MALLOC
  512. #define VOID_SIGHANDLER
  513. #define HAVE_MULTIPLE_GROUPS
  514. #endif /* AIX */
  515.  
  516. /* **************************************** */
  517. /*                        */
  518. /*        IBM RISC 6000            */
  519. /*                        */
  520. /* **************************************** */
  521. #if defined (RISC6000) || defined (_IBMR2)
  522. #define M_MACHINE "RISC6000"
  523. #define M_OS USG
  524. #undef HAVE_GETWD
  525. #undef HAVE_ALLOCA
  526. #define HAVE_SIGLIST
  527. #define HAVE_SETLINEBUF
  528. #define HAVE_VPRINTF
  529. #define VOID_SIGHANDLER
  530. #define USE_TERMCAP_EMULATION
  531. #define HAVE_MULTIPLE_GROUPS
  532. #endif /* RISC6000 */
  533.  
  534. /* **************************************** */
  535. /*                        */
  536. /*    u370 IBM AIX/370            */
  537. /*                        */
  538. /* **************************************** */
  539. #if defined (u370) || defined (_AIX370)
  540. #define M_MACHINE "AIX370"
  541. #define M_OS Bsd
  542. #define REQUIRED_LIBRARIES -lbsd
  543. #define HAVE_SETLINEBUF
  544. #define HAVE_VPRINTF
  545. #define SYSDEP_CFLAGS -D_BSD
  546. #define HAVE_MULTIPLE_GROUPS
  547. #endif /* u370 */
  548.  
  549. /* ************************ */
  550. /*                */
  551. /*        ATT 3B        */
  552. /*                */
  553. /* ************************ */
  554. #if defined (att3b)
  555. #define M_MACHINE "att3b"
  556. #define M_OS USG
  557. #undef HAVE_GETWD
  558. #define HAVE_SIGLIST
  559. #define HAVE_VPRINTF
  560. #define VOID_SIGHANDLER
  561. /* For an AT&T Unix before V.3 take out the -DUSGr3 */
  562. #define SYSDEP_CFLAGS -DUSGr3
  563. #define USE_GNU_MALLOC
  564. /* Alloca requires either Gcc or cc with libPW.a. */
  565. #if !defined (HAVE_GCC)
  566. #  define REQUIRED_LIBRARIES -lPW
  567. #endif /* !HAVE_GCC */
  568. #endif /* att3b */
  569.  
  570. /* ************************ */
  571. /*                */
  572. /*        ATT 386        */
  573. /*                */
  574. /* ************************ */
  575. #if defined (att386)
  576. #define M_MACHINE "att386"
  577. #define M_OS USG
  578. #undef HAVE_GETWD
  579. /* Alloca requires either Gcc or cc with libPW.a. */
  580. #if !defined (HAVE_GCC)
  581. #  define REQUIRED_LIBRARIES -lPW
  582. #endif /* HAVE_GCC */
  583. #define HAVE_SIGLIST
  584. #define USE_GNU_MALLOC
  585. #define HAVE_VPRINTF
  586. #define VOID_SIGHANDLER
  587. /* For an AT&T Unix before V.3 take out the -DUSGr3 */
  588. #define SYSDEP_CFLAGS -DUSGr3
  589. #endif /* att386 */
  590.  
  591. /* ************************ */
  592. /*                */
  593. /*        Encore        */
  594. /*                */
  595. /* ************************ */
  596. #if defined (MULTIMAX)
  597. #  if defined (n16)
  598. #    define M_MACHINE "Multimax32k"
  599. #  else
  600. #    define M_MACHINE "Multimax"
  601. #  endif /* n16 */
  602. #  if defined (UMAXV)
  603. #    define M_OS USG
  604. #    define REQUIRED_LIBRARIES -lPW
  605. #    define SYSDEP_CFLAGS -DUSGr3
  606. #    define HAVE_VPRINTF
  607. #    define USE_TERMCAP_EMULATION
  608. #    define VOID_SIGHANDLER
  609. #  else
  610. #    if defined (CMU)
  611. #      define M_OS Mach
  612. #    else
  613. #      define M_OX Bsd
  614. #    endif /* CMU */
  615. #    define HAVE_SIGLIST
  616. #    define HAVE_STRERROR
  617. #    define HAVE_SETLINEBUF
  618. #  endif /* UMAXV */
  619. #  define USE_GNU_MALLOC
  620. #  define HAVE_MULTIPLE_GROUPS
  621. #endif  /* MULTIMAX */
  622.  
  623. /* ******************************************** */
  624. /*                        */
  625. /*   Encore Series 91 (88K BCS w Job Control)    */
  626. /*                        */
  627. /* ******************************************** */
  628. #if defined (__m88k) && defined (__UMAXV__)
  629. #define M_MACHINE "Gemini"
  630. #define M_OS USG
  631. #define REQUIRED_LIBRARIES -lPW
  632. #define USE_TERMCAP_EMULATION
  633. #define USE_GNU_MALLOC
  634. #define HAVE_VPRINTF
  635. #define HAVE_MULTIPLE_GROUPS
  636. #define VOID_SIGHANDLER
  637. #define SYSDEP_CFLAGS -q ext=pcc -D_POSIX_JOB_CONTROL -D_POSIX_VERSION \
  638.               -Dmalloc=_malloc -Dfree=_free -Drealloc=_realloc
  639. #endif  /* m88k */
  640.  
  641. /* ************************ */
  642. /*                */
  643. /*        clipper        */
  644. /*                */
  645. /* ************************ */
  646. /* This is for the Orion 1/05 (A BSD 4.2 box based on a Clipper processor) */
  647. #if defined (clipper)
  648. #define M_MACHINE "clipper"
  649. #define M_OS Bsd
  650. #define USE_GNU_MALLOC
  651. #define HAVE_SETLINEBUF
  652. #define HAVE_MULTIPLE_GROUPS
  653. #endif  /* clipper */
  654.  
  655. /* ******************************** */
  656. /*                    */
  657. /*       is68k(Omron luna)        */
  658. /*                    */
  659. /* ******************************** */
  660. #if defined (is68k)
  661. #define M_MACHINE "is68k"
  662. #define M_OS Bsd
  663. #undef HAVE_ALLOCA
  664. #define HAVE_SIGLIST
  665. #define HAVE_SETLINEBUF
  666. #define USE_GNU_MALLOC
  667. #define HAVE_MULTIPLE_GROUPS
  668. #endif /* is68k */
  669.  
  670. /* **************************************** */
  671. /*                        */
  672. /*        Apollo/SR10.2/BSD4.3        */
  673. /*                        */
  674. /* **************************************** */
  675. /* This is for the Apollo DN3500 running SR10.2 BSD4.3 */
  676. #if defined (apollo)
  677. #define M_MACHINE "apollo"
  678. #define M_OS Bsd
  679. #define HAVE_SIGLIST
  680. #define USE_GNU_MALLOC
  681. #define HAVE_SETLINEBUF
  682. #define HAVE_MULTIPLE_GROUPS
  683. #endif  /* apollo */
  684.  
  685. /* **************************************** */
  686. /*                        */
  687. /*    SGI Iris/IRIX 3.3                */
  688. /*                        */
  689. /* **************************************** */
  690. #if defined (sgi)
  691. #define M_MACHINE "sgi"
  692. #define M_OS "USG"
  693. #undef HAVE_GETWD
  694. #undef HAVE_ALLOCA
  695. #define HAVE_SIGLIST
  696. #define USE_GNU_MALLOC
  697. #define HAVE_SETLINEBUF
  698. #define HAVE_VPRINTF
  699. #define REQUIRED_LIBRARIES -lsun
  700. #if defined (mips)
  701. #  if !defined (HAVE_GCC)
  702. #    define SYSDEP_CFLAGS -real_frameptr -Wf,-XNl3072
  703. #  endif
  704. #endif /* mips */
  705. #define HAVE_MULTIPLE_GROUPS
  706. #define VOID_SIGHANDLER
  707. #endif  /* sgi */
  708.  
  709. /* ************************ */
  710. /*                */
  711. /*    DG AViiON        */
  712. /*                */
  713. /* ************************ */
  714. /* This is for the DG AViioN box (runs DG/UX with both AT&T & BSD features.) */
  715. #if defined (__DGUX__) || defined (DGUX)
  716. #define M_MACHINE "AViiON"
  717. #define M_OS USG
  718. #undef HAVE_GETWD
  719. /* DG/UX 4.x comes standard with gcc */
  720. #define HAVE_GCC
  721. #if !defined (DGUX)        /* Must define -DDGUX because cpp doesn't. */
  722. #  define SYSDEP_CFLAGS \
  723.     -D_M88KBCS_SOURCE -D_POSIX_SOURCE -D_POSIX_JOB_CONTROL -DDGUX
  724. #else
  725. #  define SYSDEP_CFLAGS \
  726.     -D_M88KBCS_SOURCE -D_POSIX_SOURCE -D_POSIX_JOB_CONTROL
  727. #endif /* !DGUX */
  728. #define USE_TERMCAP_EMULATION
  729. #define HAVE_MULTIPLE_GROUPS
  730. #define VOID_SIGHANDLER
  731. #endif
  732.  
  733. /* ************************ */
  734. /*                */
  735. /*    Harris Night Hawk        */
  736. /*                */
  737. /* ************************ */
  738. /* This is for the Harris Night Hawk family. */
  739. #if defined (_CX_UX)
  740. #if defined (_M88K)
  741. # define M_MACHINE "nh4000"
  742. #else
  743. #  if defined (hcx)
  744. #    define M_MACHINE "nh2000"
  745. #  else
  746. #    if defined (gcx)
  747. #      define M_MACHINE "nh3000"
  748. #    endif
  749. #  endif
  750. #endif
  751. #define M_OS USG
  752. #undef HAVE_GETWD
  753. #define SYSDEP_CFLAGS -g -Xa -v -Dgetwd=bash_getwd -D_POSIX_SOURCE -D_POSIX_JOB_CONTROL
  754. #define USE_TERMCAP_EMULATION
  755. #define HAVE_VPRINTF
  756. #define HAVE_MULTIPLE_GROUPS
  757. #define VOID_SIGHANDLER
  758. #endif
  759.  
  760. /* **************************************** */
  761. /*                        */
  762. /*            Tektronix                */
  763. /*                        */
  764. /* **************************************** */
  765. /* These are unproven as yet. */
  766. #if defined (Tek4132)
  767. #define M_MACHINE "Tek4132"
  768. #define M_OS Bsd
  769. #define HAVE_SIGLIST
  770. #define USE_GNU_MALLOC
  771. #define HAVE_SETLINEBUF
  772. #define HAVE_MULTIPLE_GROUPS
  773. #endif /* Tek4132 */
  774.  
  775. #if defined (Tek4300)
  776. #define M_MACHINE "Tek4300"
  777. #define M_OS Bsd
  778. #define HAVE_SIGLIST
  779. #define USE_GNU_MALLOC
  780. #define HAVE_SETLINEBUF
  781. #define HAVE_MULTIPLE_GROUPS
  782. #endif /* Tek4300 */
  783.  
  784. /* ************************ */
  785. /*                */
  786. /*     Sequent Balances     */
  787. /*       (Dynix 3.x)        */
  788. /* ************************ */
  789. #if defined (sequent)
  790. #define M_MACHINE "Sequent"
  791. #define M_OS Bsd
  792. #define SYSDEP_CFLAGS -DDUP2_BROKEN
  793. #define HAVE_SIGLIST
  794. #define USE_GNU_MALLOC
  795. #define HAVE_SETLINEBUF
  796. #define HAVE_MULTIPLE_GROUPS
  797. #endif /* sequent */
  798.  
  799. /* ****************************************** */
  800. /*                          */
  801. /*    NCR Tower 32, System V Release 3          */
  802. /*                          */
  803. /* ****************************************** */
  804. #if defined (tower32)
  805. #define M_MACHINE "tower32"
  806. #define M_OS USG
  807. #undef HAVE_GETWD
  808. #if !defined (HAVE_GCC)
  809. #  define REQUIRED_LIBRARIES -lPW
  810.    /* Disable stack/frame-pointer optimization, incompatible with alloca */
  811. #  define SYSDEP_CFLAGS -DUSGr3 -W2,-aat
  812. #else
  813. #  define SYSDEP_CFLAGS -DUSGr3
  814. #endif /* !HAVE_GCC */
  815. #define HAVE_VPRINTF
  816. #define USE_TERMCAP_EMULATION
  817. #define USE_GNU_MALLOC
  818. #define VOID_SIGHANDLER
  819. #endif /* tower32 */
  820.  
  821. /* ************************ */
  822. /*                */
  823. /*      Stardent        */
  824. /*                */
  825. /* ************************ */
  826. #if defined (stardent)
  827. #define M_MACHINE "Stardent"
  828. #define M_OS USG
  829. #undef HAVE_GETWD
  830. #undef HAVE_ALLOCA
  831. #define HAVE_SIGLIST
  832. #define USE_GNU_MALLOC
  833. #define USE_TERMCAP_EMULATION
  834. #define VOID_SIGHANDLER
  835. #endif /* stardent */
  836.  
  837. /* ************************ */
  838. /*                */
  839. /*    Concurrent        */
  840. /*                */
  841. /* ************************ */
  842. #if defined (concurrent)
  843. /* Use the BSD universe (`universe ucb') */
  844. #define M_MACHINE "Concurrent"
  845. #define M_OS Bsd
  846. #define HAVE_SIGLIST
  847. #define USE_GNU_MALLOC
  848. #define HAVE_SETLINEBUF
  849. #define HAVE_MULTIPLE_GROUPS
  850. #endif /* concurrent */
  851.  
  852. /* ************************ */
  853. /*                */
  854. /*    Ardent Titan OS v2.2  */
  855. /*                */
  856. /* ************************ */
  857. #if defined (ardent)
  858. #define M_MACHINE "Ardent Titan"
  859. #define M_OS Bsd
  860. #undef HAVE_ALLOCA
  861. #define REQUIRED_LIBRARIES -43
  862. #define HAVE_SIGLIST
  863. #define HAVE_SETLINEBUF
  864. #define HAVE_MULTIPLE_GROUPS
  865. #define SYSDEP_CFLAGS -43 -w
  866. #endif /* ardent */
  867.  
  868.  
  869. /* ************************ */
  870. /*                */
  871. /*    Cadmus (tested once)  */
  872. /*                */
  873. /* ************************ */
  874. /* Port by bfox.  I apologize to the rest of the world for Cadmus. */
  875. #if defined (cadmus) && !defined (M_MACHINE)
  876. #define M_MACHINE "cadmus"
  877. #define M_OS BrainDeath        /* By Far, the worst yet. */
  878. #define SYSDEP_CFLAGS -DUSG
  879. #undef HAVE_GETWD
  880. #undef HAVE_ALLOCA
  881. #define USE_GNU_MALLOC
  882. #define HAVE_VPRINTF
  883. #define VOID_SIGHANDLER
  884. #define USE_TERMCAP_EMULATION
  885. #endif  /* cadmus */
  886.  
  887. /* **************************************************************** */
  888. /*                                    */
  889. /*            Generic Entry                   */
  890. /*                                    */
  891. /* **************************************************************** */
  892.  
  893. /* Use this entry for your machine if it isn't represented here.  It
  894.    is based on a Vax running Bsd. */
  895.  
  896. #if !defined (M_MACHINE)
  897. #define UNKNOWN_MACHINE
  898. #endif
  899.  
  900. #ifdef UNKNOWN_MACHINE
  901. #define M_MACHINE "UNKNOWN_MACHINE"
  902. #define M_OS UNKNOWN_OS
  903.  
  904. /* Required libraries for building on this system. */
  905. #define REQUIRED_LIBRARIES
  906.  
  907. /* Define HAVE_SIGLIST if your system has sys_siglist[]. */
  908. #define HAVE_SIGLIST
  909.  
  910. /* Undef HAVE_ALLOCA if you are not using Gcc, and neither your library
  911.    nor compiler has a version of alloca ().  In that case, we will use
  912.    our version of alloca () in alloca.c */
  913. /* #undef HAVE_ALLOCA
  914.  
  915. /* Define USE_GNU_MALLOC if you want to use the debugging version
  916.    of malloc ().  We like this on by default. */
  917. #define USE_GNU_MALLOC
  918.  
  919. /* Define USE_GNU_TERMCAP if you want to use the GNU termcap library
  920.    instead of your system termcap library. */
  921. /* #define USE_GNU_TERMCAP */
  922.  
  923. /* Define HAVE_SETLINEBUF if your machine has the setlinebuf ()
  924.    stream library call.  Otherwise, setvbuf () will be used.  If
  925.    neither of them work, you can edit in your own buffer control
  926.    based upon your machines capabilities. */
  927. #define HAVE_SETLINEBUF
  928.  
  929. /* Define HAVE_VPRINTF if your machines has the vprintf () library
  930.    call.  Otherwise, printf will be used.  */
  931. #define HAVE_VPRINTF
  932.  
  933. /* Define HAVE_MULTIPLE_GROUPS if your OS allows you to be in multiple
  934.    groups simultaneously and supports the `getgroups' system call. */
  935. /* #define HAVE_MULTIPLE_GROUPS */
  936.  
  937. /* Define SYSDEP_CFLAGS to be the flags to cc that make your compiler
  938.    work.  For example, `-ma' on the RT makes alloca () work. */
  939. #define SYSDEP_CFLAGS
  940.  
  941. /* Define HAVE_STRERROR if your system supplies a definition for strerror ()
  942.    in the C library, or a macro in a header file. */
  943. /* #define HAVE_STRERROR */
  944.  
  945. /* If your system does not supply /usr/lib/libtermcap.a, but includes
  946.    the termcap routines as a part of the curses library, then define
  947.    this.  This is the case on some System V machines. */
  948. /* #define USE_TERMCAP_EMULATION */
  949.  
  950. /* Define VOID_SIGHANDLER if your system's signal () returns a pointer to
  951.    a function returning void. */
  952. /* #define VOID_SIGHANDLER */
  953.  
  954. #endif  /* UNKNOWN_MACHINE */
  955.